<?php

// 引入函数库
include_once("helpers.php");


// 定义图宽高
$width = 80;
$height = 34;
// 创建一个图像
$img = imagecreatetruecolor($width, $height);
// 定义背景色
$bgColor = imagecolorallocate($img, 238, 238, 238);
// 定义字体颜色
$FontColor = imagecolorallocate($img, mt_rand(0, 255), mt_rand(0, 255), mt_rand(0, 255));
// 定义字体路径，这个字体决定了宽度，如果要改变字体宽度就要用不同的字体文件
$fontPath = $_SERVER["DOCUMENT_ROOT"] . '/assets/fonts/OpenSans-Light.ttf';
// 定义四个随机字符
$code_1 = build_randstr(1, false);
$code_2 = build_randstr(1, false);
$code_3 = build_randstr(1, false);
$code_4 = build_randstr(1, false);



// 给图像设置背景色
imagefilledrectangle($img, 0, 0, $width, $height, $bgColor);

//定义图内字体，
imagettftext($img, 16, mt_rand(-30, 30), 5, 26, $FontColor, $fontPath, $code_1);
imagettftext($img, 16, mt_rand(-30, 30), 20, 26, $FontColor, $fontPath, $code_2);
imagettftext($img, 16, mt_rand(-30, 30), 40, 26, $FontColor, $fontPath, $code_3);
imagettftext($img, 16, mt_rand(-30, 30), 60, 26, $FontColor, $fontPath, $code_4);

// 绘制一些点状像素,颜色复用字体的随机颜色
for ($i = 0; $i <= 10; $i++) {
  imagesetpixel($img, mt_rand(0, $width), mt_rand(0, $height), imagecolorallocate($img, mt_rand(0, 255), mt_rand(0, 255), mt_rand(0, 255)));
}

// 绘制一些线状像素,颜色复用字体的随机颜色
for ($i = 0; $i <= 5; $i++) {
  imageline($img, mt_rand(0, $width), mt_rand(0, $height), mt_rand(0, $width), mt_rand(0, $height), imagecolorallocate($img, mt_rand(0, 255), mt_rand(0, 255), mt_rand(0, 255)));
}

// 告诉浏览器，这是图片
header('Content-Type:image/png');

//输出图像
imagepng($img);

//开启会话
session_start();

// 把验证码存储到session里
$_SESSION['code'] = $code_1 . $code_2 . $code_3 . $code_4;
